Data storage is accomplished in a variety of well known manners and is well established. One aspect of data storage is the backup of stored data such that, in the event of a fault or failure of a data storage device, the stored data will still be available to an entity that desires to access the data. Backups are well known, and take many forms. From the perspective of an entity that desires to access data, any time the is not readily available, the data is considered to be not available. For example, data may be stored on a data storage device that is readily accessible by a user, and backed up on a separate backup system that is not readily accessible by the user. In the event of a failure of the data storage device, the user is often not able to access the data until the data is restored from the backup system. In data storage, the amount of time that the data is not available to a user that desires to access the data is considered as time that the data is not available. Thus, availability of data commonly used as a metric for storage systems, with more highly available data being desirable.
Numerous data storage and backup systems are known, which provide data with relatively high availability. For example, data is commonly stored in arrays of data storage devices, where stored data is distributed across several devices in the array. One example is RAID storage, that provides a data storage array and distributes data to devices in the array in a manner that, in the event of a failure of a device in an array, data will continue to be available to a user that desires to access the data. Availability of data in some systems may be enhanced through, for example, mirroring of data and data snapshots, and in the event of a failure other copies of data may be provided. Restoring a system after a failure may involve rebuilding the data of the failed storage device to a different storage device or restoring data of the failed storage device to a different storage device.